package com.ulook.lookplanet.util;

import android.util.Log;

import org.jetbrains.annotations.NotNull;

/**
 * 描述：自定义异常
 *
 * @author: L1998
 * @data: 2021/3/24
 */
public class ThrowException<T extends Exception> {

    public ThrowException(T e){
        ThrowException.print(e);
    }

    public ThrowException(String msg){
        ThrowException.print(msg);
    }

    public ThrowException(T e, String msg){
        ThrowException.print(e, msg);
    }

    /**
     * 抛出异常信息
     *
     * @param e 异常对象
     * @param tag 异常标签
     * @param msg 自定义异常信息
     * @param <T> 异常类型
     */
    public static <T extends Exception> void print(@NotNull T e, String tag, String msg){
        Log.e(tag, msg);
        e.printStackTrace();
    }

    /**
     * 抛出异常信息
     *
     * @param e 异常对象
     * @param msg 自定义信息
     * @param <T> 异常类型
     */
    public static <T extends Exception> void print(@NotNull T e, String msg){
        Log.e("ErrorMsg", msg);
        e.printStackTrace();
    }

    /**
     * 抛出异常信息
     *
     * @param e 异常对象
     * @param <T> 异常类型
     */
    public static <T extends Exception> void print(@NotNull T e){
        Log.e("ErrorMsg", e.getMessage());
        e.printStackTrace();
    }

    /**
     * 抛出异常信息
     *
     * @param msg 异常信息
     */
    public static void print(@NotNull String msg){
        Log.e("ErrorMsg", msg);
    }

}
